home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DJGPP / BNU22SR2.ZIP / src / binutils.2 / libibert / dummy.c < prev    next >
C/C++ Source or Header  |  1993-05-30  |  1KB  |  47 lines

  1. #include <ansidecl.h>
  2.  
  3. #ifdef __STDC__
  4. #include <stddef.h>
  5. #define DEF(NAME, RETURN_TYPE, ARGLIST, ARGS) extern RETURN_TYPE NAME (ARGS);
  6. #define DEFFUNC(NAME, RETURN_TYPE, ARGLIST, ARGS) extern RETURN_TYPE NAME (ARGS);
  7. #else
  8. #define void int
  9. #define size_t unsigned long
  10. #define DEF(NAME, RETURN_TYPE, ARGLIST, ARGS) extern RETURN_TYPE NAME ();
  11. #define DEFFUNC(NAME, RETURN_TYPE, ARGLIST, ARGS) extern RETURN_TYPE NAME ();
  12. #endif
  13.  
  14. #define DEFVAR(NAME,DECL,USE) extern DECL;
  15.  
  16. #define NOTHING /*nothing*/
  17.  
  18. #include "functions.def"
  19.  
  20. /* Always use our: getopt.o getopt1.o obstack.o spaces.o */
  21.  
  22. int
  23. main (argc, argv)
  24.      int argc; char **argv;
  25. {
  26.  
  27. /* Create a dummy function call for each DEF-defined function. */
  28.  
  29. #undef DEF
  30. #undef DEFVAR
  31. #undef DEFFUNC
  32. #undef AND
  33. #define AND = 0;
  34. /* ARGS expands into a set of declaration.  NAME ARG_LIST expands
  35.    info a function call that uses those variables as actual parameters.
  36.    If the function has been DEF'ed correctly, we can pass the right
  37.    number and types of parameters, which is nice.  (E.g. gcc may
  38.    otherwise complain about the wrong number of parameters to certain
  39.    builtins.) */
  40. #define DEF(NAME, RETURN_TYPE, ARG_LIST, ARGS) { ARGS; NAME ARG_LIST; }
  41. #define DEFVAR(NAME, DECL, USE) { USE; }
  42. #define DEFFUNC(NAME, RETURN_TYPE, ARG_LIST, ARGS) { ARGS; NAME ARG_LIST; }
  43. #include "functions.def"
  44.  
  45.   return (0);
  46. }
  47.